﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QFileDialog>
#include <QCoreApplication>
#include <QMessageBox>
#include <image.h>
#include <http.h>
#include <QJsonObject>
#include <QJsonDocument>
#include <QDebug>
#include <QJsonArray>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainContainer;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    
    /**
     * @brief 设置主容器指针
     * @param container 主容器指针
     */
    void setMainContainer(MainContainer *container);

    /**
     * @brief 设置返回页面
     * @param initPage 初始页面指针
     */
    void setReturnPage(QMainWindow *initPage);
    
    /**
     * @brief 返回初始页面
     * 提供返回功能选择页面的接口
     */
    void returnToInitPage();

private slots :
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_manual_clicked();  // 手动确认按钮
    void on_pushButton_research_clicked(); // 重新搜索按钮
    void on_pushButton_back_clicked();     // 返回按钮槽函数

private:
    Ui::MainWindow *ui;
    QString imgPath;
    QString currentKeyword;  // 存储当前关键词
    QMainWindow *returnPage;  // 返回页面指针
    MainContainer *mainContainer;  // 主容器指针
};
#endif // MAINWINDOW_H
